package cz.uhk.max.export.excel;

import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import cz.uhk.max.exceptions.ExportExcelException;

public interface ExcelGenerator<T> {

	public void loadTemplate(InputStream in, int startRow,
			boolean headersCreated) throws ExportExcelException;

	public void loadTemplate(String filePath, int startRow,
			boolean headersCreated) throws ExportExcelException;

	public void loadTemplate(File file, int startRow, boolean headersCreated)
			throws ExportExcelException;

	public void generateExcel(List<T> data, String sheetName, OutputStream out)
			throws ExportExcelException;

	public void generateExcel(List<T> data, String sheetName, String filePath)
			throws ExportExcelException;

	public void generateExcel(List<T> data, String sheetName, File file)
			throws ExportExcelException;

//	public void generateExcel(List<T> provize, String string,
//			File file, CommissionFilter filtr, T60Agent agent, ArrayList pomocne)
//			throws ExportExcelException;
	
	public void generateExcel(List<T> data, String sheetName, File file, 
			ArrayList pomocne) throws ExportExcelException;
}
